package com.xzcedu.homework;

import javax.sql.DataSource;
import java.io.IOException;
import java.net.*;
import java.util.Scanner;

/**
 * @author 徐州城
 * @version 1.0
 * UDP发送端
 * 1. 编写一个接收端A，和一个发送端B，使用 UDP协议完成
 * 2. 接收端在 8888端口等待接收数据(receive)
 * 3. 发送端向接收端 发送 数据 "四大名著是哪些"
 * 4. 接收端接收到 发送端发送的 问题后，返回 "四大名著是<<红楼梦>>..."，否则 want?
 * 5. 接收端和发送端程序退出
 */
public class Homework02SenderB {
    public static void main(String[] args) throws IOException {

        //得到socket
        DatagramSocket socket = new DatagramSocket(9998);

        //用户指定输入数据
        System.out.print("请输入你的问题：");
        Scanner scanner = new Scanner(System.in);
        byte[] data = (scanner.next()).getBytes();
        DatagramPacket packet =
                new DatagramPacket(data, 0, data.length, InetAddress.getByName("192.168.1.1"), 8888);
        socket.send(packet);

        byte[] buf = new byte[1024];
        packet = new DatagramPacket(buf,buf.length);
        socket.receive(packet);
        int length = packet.getLength();//接收实际长度
        byte[] data2 = packet.getData();//返回数据
        System.out.println(new String(data2, 0, length));


        socket.close();
        System.out.println("发送端退出...");
    }
}
